MapReduce is one of the popular distributed computing frameworks based on an open source cloud platform named Hadoop. However, the First-In First-Out (FIFO) scheduling algorithm of MapReduce is inefficient in resources utilization. A new tasks scheduling model based on resources matching rules was proposed and implemented. After obtaining the tasks resources requirement and remainder resources on computing nodes, the model assigned tasks to computing nodes based on resources matching degree to improve the usage efficiency of system resources. First of all, the model for MapReduce scheduling was established, the quantitative definition of resources and matching degree were given, and the corresponding calculation formulas were put forward. Second, the specific methods of resource measurement and the implementation of the algorithm were introduced. Compared with FIFO scheduling algorithm on TeraSort, GrepCount and WordCount, the experimental results show that the proposed model reduces by 22.19% in tasks completion time in the best case, and increases by 25.39% in throughput even in the worst case.